﻿using System;
using Brjnk.Common;

namespace Brjnk.GpxExplorer.Computing
{
    public class FindPositionArgs
    {
        public Distance Limit { get; protected set; }

        public Distance SearchAgainLimit { get; protected set; }

        public bool SearchInGaps { get; protected set; }

        /// <param name="searchAgainLimit">Pokud se trasa od bodu vzdálí více než je tato hodnota, bude probíhat znovu vyhledávání a metoda vrátí více výsledků.</param>
        public FindPositionArgs(Distance limit, Distance searchAgainLimit, bool searchInGaps)
        {
            if (Limit > searchAgainLimit) throw new ArgumentException("Limit musí být menší než SearchAgainLimit");
            SearchInGaps = searchInGaps;
            Limit = limit;
            SearchAgainLimit = searchAgainLimit;
        }
    }
}